Expand description

The Holochain Deterministic Integrity

Re-exports

pub use paste;

Modules

Create and verify signatures for serializable Rust structures and raw binary data.

Working with app and system entries.

Functions to generate standardized hashes of Holochain elements and arbitrary bytes.

The interface between the host and guest is implemented as an HdkT trait.

Request contextual information from the Holochain host.

Maps a Rust function to an extern that WASM can expose to the Holochain host.

Exports common types and functions according to the Rust prelude pattern.

Encryption and decryption using the (secret)box algorithms popularised by Libsodium.

Macros

Implements conversion traits to allow a struct to be handled as an app entry. If you have some need to implement custom serialization logic or metadata injection you can do so by implementing these traits manually instead.

Implements a whole lot of sane defaults for a struct or enum that should behave as an entry. All the entry def fields are available as dedicated methods on the type and matching From impls are provided for each. This allows for both Foo::entry_def() and EntryDef::from(Foo::new()) style logic which are both useful in different scenarios.

Attempts to lookup the EntryDefIndex given an EntryDefId.

Shorthand to implement the entry defs callback similar to the vec![ .. ] macro but for entries.

Hides away the gross bit where we hook up integer pointers to length-prefixed guest memory to serialization and deserialization, and returning things to the host, and memory allocation and deallocation.

Implements a whole lot of sane defaults for a struct or enum that should behave as an entry, without implementing the app entry conversion interface.